﻿namespace HiMap.Style
{
    using HiMap.Base;
    using System;

    public abstract class PointSymbolClass : HiMapPtrClass, IPointSymbol, IHiMapPtr
    {
        protected PointSymbolClass()
        {
        }

        ~PointSymbolClass()
        {
            if (!base.m_Used && (base.m_InPtr != 0))
            {
                VC.KWG_POINTSYMBOL_DELETE(base.m_InPtr);
            }
        }

        public int OffsetX
        {
            get
            {
                return VC.KWG_POINTSYMBOL_GET_OFFSETX(base.m_InPtr);
            }
            set
            {
                VC.KWG_POINTSYMBOL_SET_OFFSETX(base.m_InPtr, value);
            }
        }

        public int OffsetY
        {
            get
            {
                return VC.KWG_POINTSYMBOL_GET_OFFSETY(base.m_InPtr);
            }
            set
            {
                VC.KWG_POINTSYMBOL_SET_OFFSETY(base.m_InPtr, value);
            }
        }

        public PointSymbolType Type
        {
            get
            {
                return (PointSymbolType) VC.KWG_POINTSYMBOL_GET_TYPE(base.m_InPtr);
            }
        }
    }
}

